課程資訊
課程名稱
使用 Python 分析與探索氣象資料
Applied Data Analysis for Atmospheric Sciences Using Python 
開課學期
108-2 
授課對象
理學院  大氣科學研究所  
授課教師
林博雄 
課號
AtmSci5088 
課程識別碼
229 U5830 
班次
 
學分
1.0 
全/半年
半年 
必/選修
選修 
上課時間
第8,9,10,11 週
 
上課地點
 
備註
密集課程。4/11,4/18,4/25,5/2,9:30-11:30,13:30-15:30@大氣C204
限本系所學生(含輔系、雙修生)
總人數上限:20人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1082AtmSci5088_ 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

1. 使用 Python
- Python 簡介
- 學習環境的設定 (ANACONDA)
- Python 語法重點回顧

2. 文字及表格資料處理 (Pandas)
- 資料存取、閱讀
- 資料操作
- 資料繪圖

3. 其他輔助繪圖工具使用
- matplotlib
- 風花圖 (windrose)
- 斜溫圖 (metpy)

4. NetCDF 資料處理
- 資料存取、閱讀 (netCDF4)
- 繪製資料與地圖 (cartopy or basemap)
 

課程目標
介紹資料科學分析工具Python及其在大氣科學資料上的應用。通過本課程的學習,使學生獲得資料科學的基本概念、基本理論,和使用 Python進行氣象資料分析的基本技能,學習後繼課程和進一步從事大氣科學研究奠定必要的基礎。同時,注重培養學生獲取知識能力、應用能力和創新能力,提高學生的素質。 
課程要求
有Fortran, C+, Matlab語言基礎能力為佳 
預期每週課後學習時數
 
Office Hours
每週六 16:00~17:00
每週六 08:00~09:00 
指定閱讀
無 
參考書目
Python3
https://docs.python.org/3/
Python 3 documentation:
*. 有提供不同語言切換,可以減低閱讀困擾。
*. Tutorial的章節,適合直接閱讀,並跟著練習,可以更熟習語法。
*. Library Reference的章節,在需要某些功能時可以從中尋找。(例如 pathlib, re)

Pandas
https://pandas.pydata.org/docs/
*. Pandas 官方網站的說明文件。Getting started 的其中兩個章節,非常適合做為基礎學習。
10 minutes to pandas : https://pandas.pydata.org/docs/getting_started/10min.html
Essential basic functionality : https://pandas.pydata.org/docs/getting_started/basics.html
*. 若要更進階的靈活運用Pandas,則可閱讀。
User Guide : https://pandas.pydata.org/docs/user_guide/index.html

netCDF4
https://unidata.github.io/netcdf4-python/netCDF4/index.html
netCDF4 的官方說明文件,包含了教學、詳細的功能說明。
*. Tutorial 章節 (直接在該頁面搜尋 Tutorial) 的15堂課有很好的教學。

matplotlib
https://matplotlib.org/gallery/index.html
matplotlib 官方網站參考文件。
*. 提供各種繪圖 sample,可以先選擇想學習的圖表,再看它的sample code。
https://matplotlib.org/tutorials/index.html
matplotlib 官方網站教學文件,提供了各參數的使用說明、範例,
*. 想要進階調整繪圖的細節,可以閱讀此文件。

numpy
https://numpy.org/devdocs/user/quickstart.html
numpy的官方教學網站。想更熟悉使用numpy,可以依照此篇演練學習。
https://numpy.org/devdocs/user/basics.html
numpy的官方說明網站。對於numpy的運作原理還有細節設定做了說明。
對於想知道 "為什麼" 或想要精通 numpy ,可以閱讀這個章節。

 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
進度作業 
80% 
 
2. 
問題提問 
20% 
 
 
課程進度
週次
日期
單元主題
第1週
4/11  使用 Python 
第2週
4/18  文字及表格資料處理 (Pandas) 
第3週
4/25  輔助繪圖工具使用(matplotlib) 
第4週
5/2  NetCDF 資料處理